package com.mm.cme.kotlin_001.level03_object_oriented_program.overload_default_arguments

import com.mm.cme.kotlin_001.utils.pl

/**
 * Descriptions：重载
 * 注意和重写做区别
 *
 * 方法签名不一样，Jvm就认为方法不一样，
 * 方法签名包括方法名和参数的类型和顺序（注意：返回值不属于方法签名），
 * 也即，方法的重载和方法名和参数列表有关，和返回值无关
 *
 * <p>
 * Author：ChenME
 * Date：2017/7/20
 * Email：ibelieve1210@163.com
 */

class Overload {
    fun a(): Int {
        return 0
    }

    fun a(arg: Int): Int {
        return arg
    }
}

fun main(args: Array<String>) {
    val overload=Overload()
    pl(overload.a())
    pl(overload.a(10))
}